package com.tao.YanMoDesignPattern.template.pattern;

/**
 * @Author Mi_Tao
 * @Date 2023/7/22
 * @Description 定义模板方法，源语操作等的抽象类
 * @Version 1.0
 **/
public abstract class AbstractClass {

    /**
     * 源语操作1，所谓源语操作就是抽象的操作，必须由子类提供实现
     */
    public abstract void doPrimitiveOperation1();

    /**
     * 源语操作2，所谓源语操作就是抽象的操作，必须由子类提供实现
     */
    public abstract void doPrimitiveOperation2();

    /**
     * 模板方法,定义算法骨架
     */
    public final void templateMethod(){
        doPrimitiveOperation1();
        doPrimitiveOperation2();
    }
}
